package com.dw.widget.slideshow.utils;

import com.dw.widget.slideshow.utils.log.Log;

import android.content.Context;


public class DensityUtils {  
	  
    /** 
     * 根据手机的分辨率从 dp 的单位 转成为 px(像素) 
     */  
    public static int dip2px(Context context, float dpValue) {  
        final float scale = context.getResources().getDisplayMetrics().density;
        final float xdpi = context.getResources().getDisplayMetrics().xdpi;
        final float ydpi = context.getResources().getDisplayMetrics().ydpi;
        Log.d(context, "dip2px", "scale = " + String.format("%.2f", scale));
        Log.d(context, "dip2px", "xdpi = " + String.format("%.2f", xdpi));
        Log.d(context, "dip2px", "ydpi = " + String.format("%.2f", ydpi));
        
        return (int) (dpValue * scale + 0.5f);  
    }  
  
    /** 
     * 根据手机的分辨率从 px(像素) 的单位 转成为 dp 
     */  
    public static int px2dip(Context context, float pxValue) {  
        final float scale = context.getResources().getDisplayMetrics().density;
        return (int) (pxValue / scale + 0.5f);
    }
    
    /** 
     * 根据手机的分辨率从 dp 的单位 转成为 px(像素) 
     */  
    public static int dip2pxInX(Context context, float dpValue) {  
        final float xdpi = context.getResources().getDisplayMetrics().xdpi;
        return (int) (dpValue * (xdpi / 160));  
    } 
    
    /** 
     * 根据手机的分辨率从 dp 的单位 转成为 px(像素) 
     */  
    public static int dip2pxInY(Context context, float dpValue) {  
        final float ydpi = context.getResources().getDisplayMetrics().ydpi;
        return (int) (dpValue * (ydpi / 160));  
    } 
}  
